widget: Unset window-unfocused in gtk_widget_unparent()
authorRui Matos <tiagomatos@gmail.com>
Fri, 2 Dec 2011 15:21:20 +0000 (15:21 +0000)
committerRui Matos <tiagomatos@gmail.com>
Wed, 7 Dec 2011 22:41:58 +0000 (22:41 +0000)
Widgets without a parent aren't inside a toplevel window so we must remove
window-unfocused as it doesn't make sense outside a toplevel.

https://bugzilla.gnome.org/show_bug.cgi?id=661428

gtk/gtkwidget.c

index daa5c29a4090df69e2a6e7c4cef0d606f3647658..8d772df3a697289a58304b15354580e40b9744c6 100644 (file)
@@ -3784,6 +3784,9 @@ gtk_widget_unparent (GtkWidget *widget)
       gtk_widget_queue_compute_expand (old_parent);
     }
 
+  /* Unset window-unfocused since we are no longer inside a toplevel window */
+  gtk_widget_unset_state_flags (widget, GTK_STATE_FLAG_WINDOW_UNFOCUSED);
+
   g_signal_emit (widget, widget_signals[PARENT_SET], 0, old_parent);
   if (toplevel)
     {